1. Field of the Invention
This invention relates to optical disk systems, and in particular to an optical disk system including three-dimensional (3-D) graphics and sound capability.
2. Description of the Related Art
Optical disks are recording media which typically contain long strings of microscopic pits representing digitally encoded data. Each string of pits is called a xe2x80x9ctrackxe2x80x9d. The tracks are formed end to end in a spiral pattern around the center of one or both major surfaces of the disk. Reflected laser light is used to xe2x80x9creadxe2x80x9d the data encoded in the pits. Common types of optical disks available today include compact disks (CDs), laser video disks, and digital versatile disks (DVDs). Various optical disk players are available reading data from optical disks.
Laser video disks and DVDs have storage capacities which exceed those of normal CDs, and are capable of storing full length movies and other presentations including video and audio information. A digitized version of a full length movie includes an enormous amount of digital video data. In order to reduce the amount of digital video data which must be stored, the digital video data is typically compressed and encoded according to a Moving Pictures Experts Group (MPEG) standard (e.g., MPEG-2). MPEG-2 compression removes redundant information (e.g., information relating to areas of images that don""t change) and information not readily perceived by a viewer. The audio content of the movie is typically digitized, compressed, and encoded according to either a Dolby(copyright) AC-3(trademark) or MPEG audio standard.
The current DVD standard is a compromise format agreed upon by several major consumer electronic and entertainment companies. Under the current DVD standard, the capacity of a single side, single layer DVD with a diameter of 4.7 inches is 4.7 gigabytes, enough to store about 135 minutes of MPEG-2 video data. This capacity is sufficient for about 95% of all full length movies. The current DVD standard also provides for up to eight different sound tracks in different languages. In addition, up to 32 different sets of subtitles may be stored on a DVD for display during playback.
Data retrieved from a spinning DVD by a DVD drive is typically conveyed as a data stream including compressed video and audio xe2x80x9csubstreamsxe2x80x9d. The DVD standard also allows for an optional xe2x80x9cnavigationxe2x80x9d substream to be included in the data stream. The navigation substream specifies ways in which a DVD system user can interact with the multimedia presentation. Inclusion of the navigation substream allows the multimedia presentation to become an interactive experience, allowing sequences of video and audio data to be assembled according to user input. For example, the navigation substream allows a user to choose which path to take in a given video scene.
Various interactive computer programs (e.g., games) exist which create the perception of movement through a virtual environment. The virtual environment typically includes images of objects and sounds. Many of these programs employ rendering techniques to make the objects appear to be three dimensional. For example, a rendering technique may first model the objects as frameworks of straight lines connected to form outlines (i.e., wireframe models). Portions of the lines which would not be visible to a viewer may then be removed. Such xe2x80x9chidden line removalxe2x80x9d makes the objects appear solid. Color and texture may then be attributed to surfaces of the objects. One or more light sources may be defined, and one of various shading techniques may be employed to make the objects appear more realistic.
Optical disks (e.g., DVDs and laser video disks) now have the capacity to store enough video and audio data to recreate hours of moving images and synchronized sound. Existing optical disk technology is inadequate, however, to allow limitless movement through a virtual environment created by the moving images and sound. For example, encoding every possible permutation of a joystick used to navigate through the virtual environment would require too much storage space. In addition, current optical disk technology does not support the creation and display of 3-D objects at speeds possible using dedicated hardware employing computer graphics rendering techniques.
It would be beneficial to have an optical disk system which incorporates computer graphics rendering capability in order to create three-dimensional (3-D) objects synchronized with 3-D sound. Such an optical disk system would allow limitless navigation through a virtual environment, and would be useful for flight simulation, virtual tours of planned structures and historic buildings, games, etc.
The problems outlined above are in large part solved by an optical disk system which incorporates computer graphics rendering capability to create and display objects which appear to be three dimensional and synchronized 3-D sound. The optical disk system includes an audio/video decoder, a microprocessor, and a rendering unit. The audio/video decoder receives a serial train or stream of bits (i.e., a bitstream) including encoded video and audio data, 3-D presentation data, and navigation data. The encoded video and audio data may be encoded using an MPEG standard (e.g., MPEG-2). The 3-D presentation data includes object modeling data and audio modeling data. The object modeling data includes data pertaining to an object to be displayed upon a display device, and may include coordinate locations of pairs of points which define straight lines used to model the object. The audio modeling data includes data pertaining to sound to be produced by multiple speakers. The bitstream may be a DVD-compliant bitstream having an sub-picture unit (SPU) portion. The 3-D presentation data may be conveyed using the SPU portion of the bitstream.
The audio/video decoder obtains the encoded video data from the bitstream, decodes the encoded video data thereby producing decoded video data, and stores the decoded video data in an audio/video memory unit coupled to the audio/video decoder. The microprocessor also receives the bitstream, obtains the 3-D presentation data and the navigation data from the bitstream, and stores the 3-D presentation data in a 3-D memory unit coupled to the microprocessor.
The microprocessor executes software instructions which may be stored in a microprocessor memory unit coupled to the microprocessor. The 3-D presentation data may also include instructions executed by the microprocessor in order to perform an operation upon the 3-D presentation data. In this case, the microprocessor stores the instructions within the microprocessor memory unit.
The navigation data defines a set of optional next sequences of encoded video data, 3-D presentation data, and navigation data to be included in the bitstream. An input device may be operably coupled to the microprocessor and may produce an output signal in response to user input. The microprocessor may produce control signals in response to the navigation data and/or the output signal. The control signals may be used to select a member of the set of optional next sequences of encoded video data, 3-D presentation data, and navigation data.
The microprocessor is also coupled to the audio/video memory unit. The microprocessor may retrieve the object modeling data from the 3-D memory unit, perform a graphics function upon the object modeling data thereby producing image data, and store the image data within the audio/video memory unit. The microprocessor may also retrieve the audio modeling data from the 3-D memory unit, perform an audio function upon the object modeling data thereby producing 3-D audio data, and store the 3-D audio data within the audio/video memory unit.
The rendering unit is coupled to the microprocessor, the 3-D memory unit, and the audio/video memory unit. The rendering unit retrieves the object modeling data from the 3-D memory unit, performs a rendering function upon the object modeling data thereby producing image data, and stores the image data within the audio/video memory unit. The rendering function may include, for example, a shading operation performed upon the object modeling data. The shading operation may add the color black to a base color of a portion of the object, wherein the quantity of the color black added is in inversely proportional to the amount of illumination the portion receives from a light source.
The 3-D presentation data may be conveyed as a data packet having a header portion including the length of the data packet and a data portion including the 3-D presentation data. The object is to be displayed within a window defined within the boundaries of a display screen of the display device. The data packet may further include a control portion which defines the size and location of the window. Alternately, user input via the input device may select the size and location of the window. An on-screen display (OSD) unit within the audio/video decoder may be coupled to the microprocessor and operably coupled to the display device. The OSD unit may cause a textual message to be displayed upon the display device in response to a control signal from the microprocessor. The textual message may prompt the user to select the size and location of the window via the input device. The output signal of the input device may be used to determine the size and location of the window.
The object is displayed by superimposing the object upon a background image displayed upon the display screen of the display device. The audio/video memory unit may include a frame buffer portion, and the audio/video decoder may store the decoded video data in the frame buffer portion. The rendering unit may also store the image data within the frame buffer such that the image data overwrites decoded video data stored within the frame buffer by the audio/video decoder. The audio/video decoder may retrieve data from the frame buffer portion of the audio/video memory unit and provide the data as a video output signal.
Alternately, the frame buffer portion may include a decoded video portion and a sub-picture portion. The audio/video decoder may store the decoded video data in the decoded video portion, and the rendering unit may store the image data within the sub-picture portion. The audio/video decoder may retrieve decoded video data from the decoded video portion of the frame buffer and image data from the sub-picture portion of the frame buffer, and produce the video output signal by superimposing the image data upon the decoded video data.
The optical disk system may include a disk drive unit for retrieving the encoded video and audio data, the 3-D presentation data, and the navigation data from an optical disk (e.g., a DVD). The disk drive unit may provide the bitstream including the encoded video and audio data, the 3-D presentation data, and the navigation data to the audio/video decoder and the microprocessor.
The disk drive may be capable of both retrieving data from and storing data upon a xe2x80x9crecordablexe2x80x9d optical disk. The optical disk system may operate in a playback mode and a record mode. When the optical disk system is in the playback mode, the disk drive unit retrieves encoded video and audio data, 3-D presentation data, and navigation data from the optical disk as described above. In the playback mode, the microprocessor controls the operation of the disk drive unit in response to the navigation data. When the optical disk system is in the record mode, the audio/video decoder retrieves decoded video data and image data from the audio/video memory unit, encodes the decoded video data and the image data thereby producing encoded video and image data, and provides the encoded video and image data to the disk drive unit. The disk drive unit stores the encoded video and image data upon the recordable optical disk
The audio/video decoder may encode the decoded video data and the image data in accordance with an MPEG standard (e.g., MPEG-2) and provide the resulting encoded video and image data to the disk drive unit as a bitstream. For example, the bitstream may be a DVD-compliant bitstream including a sub-picture unit (SPU) portion, and the image data may be conveyed using the SPU portion of the bitstream.
As described above, the audio/video memory unit may include a frame buffer portion. In the record mode, the audio/video decoder may retrieve the decoded video data and the image data from the frame buffer portion. The frame buffer portion may include a decoded video portion and a sub-picture portion. The audio/video decoder may retrieve the decoded video data from the decoded video portion and the image data from the sub-picture portion.